# pragma once
# include <QtWidgets/QMainWindow>
#include <functional>

class MyDx11;
struct ID3D11Device;
struct ID3D11DeviceContext;
struct ID3D11Texture2D;

class ShowRemoteWindow : public QMainWindow {
	Q_OBJECT
public:
	explicit ShowRemoteWindow(QWidget* parent = nullptr);
	void addRemote(int _monitor_width, int _monitor_height);
	void copyToRemoteTexture(uint8_t* _buffer, size_t _size);
	void rend() const;
	~ShowRemoteWindow();
public:
	QPaintEngine* paintEngine() const { return nullptr; }
	void paintEvent(QPaintEvent* event);
	void resizeEvent(QResizeEvent* event);
private:
	MyDx11* m_d3d11 = nullptr;
};
